﻿//////////////////////////////////////////////////////////////////////////////
//
//  Copyright © 1998-2024 Glodon Company Limited.  All rights reserved.
//
//  Use of this software is subject to the terms of the Glodon license
//  agreement provided at the time of installation or download, or which
//  otherwise accompanies this software in either electronic or hard copy form.  
//
//////////////////////////////////////////////////////////////////////////////

// Reviewed
#pragma once
#include "GcmpJournalInterface.h"
#include "GbmpQuickCast.h"

namespace gcmp
{
    /// \brief 日志录制回放数据：基类
    ///
    /// IJournlData及其子类封装了需要日志进行录制回放的数据
    /// ，用户通过GmIJournalFactory创建相应的数据类型，将产生的IJournalData作为IJournalManager对应接口的参数传入，来实现录制回放
    /// ，如要录制日志的结果数据（IJournalCheckData），即用户UI交互操作的控件数据和产生的事件数据，可创建IJournalCheckData
    /// ，将控件和事件数据传入IJournalCheckData中，调用LogOrCompareCheckData，将IJournalCheckData作为参数传入即可
    class GCMP_JOURNAL_INTERFACE_EXPORT IJournalData
    {
        DEFINE_CAST_BASE(gcmp::IJournalData)
    public:
        virtual ~IJournalData() {}
    };
}

